package com.jin.六大设计原则.依赖倒置原则.顺从;

import com.jin.六大设计原则.依赖倒置原则.违背.BetUser;

import java.util.ArrayList;
import java.util.List;

//任何一种抽奖都只有自己的实现类，既可以不断地完善也可以新增
public class DrawWeightRank implements IDraw {
    @Override
    public List<BetUser> prize(List<BetUser> list, int count) {
        //按照权重排序
        list.sort(((o1, o2) -> {
            int e=o2.getUserWeight()-o1.getUserWeight();
            if (0==e)return 0;
            return e>0?1:-1;
        }));
        //取出指定数量的中奖用户
        ArrayList<BetUser> objects = new ArrayList<>(count);
        for (int i = 0; i < count; i++) {
            objects.add(list.get(i));
        }
        return objects;
    }

}
